#include <stdio.h>
#include "math.h"

//pour compiler mettre en option: -lm


void calcEntropie (char* file){

FILE * f;
f = fopen(file,"r");
char c;
double freq[256];
int i;
for (i=0;i<256;i++)
{freq[i]=0;}
int cpt=0;
while(fread(&c,1,1,f))
{
	freq[(int)c]+=1;
	cpt++;}

	//printf("nombre d'occurences du caractere a: %f \n",freq['a']);
	printf("nombre de caracteres du fichier:%d \n",cpt);


	for (i=0;i<256;i++)
	{
	freq[i]=freq[i]/(double)cpt;}



	//printf("frequence du caractere a: %f \n",freq['a']);

	double ent=0.;

	for(i=0; i<256;i++) {
		if (freq[i]!=0.)
		{ent+=freq[i]*log(freq[i])/log(2);}
	}
	printf("l'entropie est de: %f \n", -ent);

}


int main(int argc,char** argv){

	char* file = argv[1];

	calcEntropie(file);

	return 0;
}

